// Copyright (C) 2016 All rights reserved.
// Author: liufeng11@letv.com (Liu Feng)
// Description:
#ifndef _SIMILARITY_H
#define _SIMILARITY_H

#include <vector>


class Similarity {
public:
  virtual ~Similarity(){};
  virtual double GetSimilarity(const std::vector<double>& feature1, const std::vector<double>& feature2);
  double operator()(const std::vector<double>& feature1, const std::vector<double>& feature2);
protected:
  double GetEuclideanDistance(const std::vector<double>& feature1, const std::vector<double>& feature2);
};



#endif //SIMILARITY_H
